lexer grammar InternalBrainfuckLanguage;
@header {
package net.maylander.bfcpublog.bfwb.parser.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
}

T11 : 'bfprogram' ;
T12 : '{' ;
T13 : 'symbols:' ;
T14 : 'macros:' ;
T15 : '}' ;
T16 : 'symbol' ;
T17 : '=' ;
T18 : '#region' ;
T19 : 'macro' ;
T20 : '(' ;
T21 : ',' ;
T22 : ')' ;
T23 : 'param' ;
T24 : '*' ;
T25 : '[' ;
T26 : ']' ;
T27 : '+' ;
T28 : '-' ;
T29 : '<' ;
T30 : '>' ;
T31 : '.' ;

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1167
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1169
RULE_INT : ('0'..'9')+;

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1171
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1173
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1175
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1177
RULE_WS : (' '|'\t'|'\r'|'\n')+;

// $ANTLR src "../net.maylander.bfcpublog.bfwb/src-gen/net/maylander/bfcpublog/bfwb/parser/antlr/internal/InternalBrainfuckLanguage.g" 1179
RULE_ANY_OTHER : .;


